package com.cloudbroker.bcs.platform.dav.bizapi.service.viewpoint.vo;

import com.cloudbroker.bcs.common.validatioin.annotation.*;
import com.cloudbroker.bcs.platform.dav.bizapi.constants.type.WxAccountType;
import com.cloudbroker.bcs.platform.dav.bizapi.service.base.vo.HSBCPSVO;

public class BrokerInfoPlatForm extends HSBCPSVO {
    
    private static final long serialVersionUID = 2224893683670740384L;

    @NotBlank
    @IntegerString
    @Length(max = 20)
    private String company_id;

    @NotBlank
    @Length(max = 32)
    private String sign;

    @NotBlank
    @IntegerString
    @Length(max = 20)
    protected String user_id;

    /**申请人姓名*/
    @Length(max = 16)
    private String applicant_name;

    @Length(max = 255)
    private String company_name;

    /**身份证号码*/
    @Length(max = 32)
    @Identity
    private String id_no;

    /**微信公众号*/
    @Length(max = 16)
    private String wx_public_account;

    /**微信主体类型*/
    @Length(max = 32)
    @EnumValue(enumClass = WxAccountType.class)
    private String wx_account;

    @IntegerString
    @Length(max = 64)
    private String weibo_id;

    @Length(max = 64)
    private String qq;

    /**推荐码*/
    @Length(max = 64)
    private String fr_code;

    @Length(max = 8)
    private String own_organ;

    @Length(max = 32)
    private String branch_no;

    /**资格证件号*/
    @Length(max = 32)
    private String certificate_id;

    /**职业资格证类型*/
    @Length(max = 8)
    private String certificate_type;

    /**邮箱*/
    @Email
    @Length(max = 64)
    private String email;

    /**开户人*/
    @Length(max = 16)
    private String account_holder;

    /**开户行*/
    @Length(max = 64)
    private String bank_name;

    @Length(max = 32)
    private String bank_account;

    @Length(max = 255)
    protected String profile;

    @Length(max = 32)
    protected String broker_name;

    @Mobile
    @Length(max = 32)
    private String mobile;

    @Length(max = 16)
    private String province_name;

    @Length(max = 64)
    private String city_name;

    public String getCompany_id() {
        return company_id;
    }

    public void setCompany_id(String company_id) {
        this.company_id = company_id;
    }

    public String getSign() {
        return sign;
    }

    public void setSign(String sign) {
        this.sign = sign;
    }

    public String getUser_id() {
        return user_id;
    }

    public void setUser_id(String user_id) {
        this.user_id = user_id;
    }

    public String getApplicant_name() {
        return applicant_name;
    }

    public void setApplicant_name(String applicant_name) {
        this.applicant_name = applicant_name;
    }

    public String getCompany_name() {
        return company_name;
    }

    public void setCompany_name(String company_name) {
        this.company_name = company_name;
    }

    public String getId_no() {
        return id_no;
    }

    public void setId_no(String id_no) {
        this.id_no = id_no;
    }

    public String getWx_public_account() {
        return wx_public_account;
    }

    public void setWx_public_account(String wx_public_account) {
        this.wx_public_account = wx_public_account;
    }

    public String getWx_account() {
        return wx_account;
    }

    public void setWx_account(String wx_account) {
        this.wx_account = wx_account;
    }

    public String getWeibo_id() {
        return weibo_id;
    }

    public void setWeibo_id(String weibo_id) {
        this.weibo_id = weibo_id;
    }

    public String getQq() {
        return qq;
    }

    public void setQq(String qq) {
        this.qq = qq;
    }

    public String getFr_code() {
        return fr_code;
    }

    public void setFr_code(String fr_code) {
        this.fr_code = fr_code;
    }

    public String getOwn_organ() {
        return own_organ;
    }

    public void setOwn_organ(String own_organ) {
        this.own_organ = own_organ;
    }

    public String getBranch_no() {
        return branch_no;
    }

    public void setBranch_no(String branch_no) {
        this.branch_no = branch_no;
    }

    public String getCertificate_id() {
        return certificate_id;
    }

    public void setCertificate_id(String certificate_id) {
        this.certificate_id = certificate_id;
    }

    public String getCertificate_type() {
        return certificate_type;
    }

    public void setCertificate_type(String certificate_type) {
        this.certificate_type = certificate_type;
    }

    public String getEmail() {
        return email;
    }

    public void setEmail(String email) {
        this.email = email;
    }

    public String getAccount_holder() {
        return account_holder;
    }

    public void setAccount_holder(String account_holder) {
        this.account_holder = account_holder;
    }

    public String getBank_name() {
        return bank_name;
    }

    public void setBank_name(String bank_name) {
        this.bank_name = bank_name;
    }

    public String getBank_account() {
        return bank_account;
    }

    public void setBank_account(String bank_account) {
        this.bank_account = bank_account;
    }

    public String getProfile() {
        return profile;
    }

    public void setProfile(String profile) {
        this.profile = profile;
    }

    public String getBroker_name() {
        return broker_name;
    }

    public void setBroker_name(String broker_name) {
        this.broker_name = broker_name;
    }

    public String getMobile() {
        return mobile;
    }

    public void setMobile(String mobile) {
        this.mobile = mobile;
    }

    public String getProvince_name() {
        return province_name;
    }

    public void setProvince_name(String province_name) {
        this.province_name = province_name;
    }

    public String getCity_name() {
        return city_name;
    }

    public void setCity_name(String city_name) {
        this.city_name = city_name;
    }

    @Override
    public String toString() {
        final StringBuilder sb = new StringBuilder("BrokerInfoPlatForm{");
        sb.append("company_id='").append(company_id).append('\'');
        sb.append(", sign='").append(sign).append('\'');
        sb.append(", user_id='").append(user_id).append('\'');
        sb.append(", applicant_name='").append(applicant_name).append('\'');
        sb.append(", company_name='").append(company_name).append('\'');
        sb.append(", id_no='").append(id_no).append('\'');
        sb.append(", wx_public_account='").append(wx_public_account).append('\'');
        sb.append(", wx_account='").append(wx_account).append('\'');
        sb.append(", weibo_id='").append(weibo_id).append('\'');
        sb.append(", qq='").append(qq).append('\'');
        sb.append(", fr_code='").append(fr_code).append('\'');
        sb.append(", own_organ='").append(own_organ).append('\'');
        sb.append(", branch_no='").append(branch_no).append('\'');
        sb.append(", certificate_id='").append(certificate_id).append('\'');
        sb.append(", certificate_type='").append(certificate_type).append('\'');
        sb.append(", email='").append(email).append('\'');
        sb.append(", account_holder='").append(account_holder).append('\'');
        sb.append(", bank_name='").append(bank_name).append('\'');
        sb.append(", bank_account='").append(bank_account).append('\'');
        sb.append(", profile='").append(profile).append('\'');
        sb.append(", broker_name='").append(broker_name).append('\'');
        sb.append(", mobile='").append(mobile).append('\'');
        sb.append(", province_name='").append(province_name).append('\'');
        sb.append(", city_name='").append(city_name).append('\'');
        sb.append('}');
        return sb.toString();
    }
}
